在螢幕一開始初始化時要建立兩個變數分別是
(player1確認狀態)
(player2確認狀態)
這兩個是用來判斷是否雙方都已經將密碼設定好並且送出!
再來我們下面用分區塊說明
紅色1區塊部分:
用來辨識說使用者輸入的數字是否符合規範
當輸入超過9999的數字時就會被系統認定這個數值不符合規範
(當初在考慮遺漏了一點,應該要加上不得小於1,學習的朋友們可以自行加上,然後用logic And去合併邏輯)
紅色2、3區塊部分:(首先先確定使用者是玩家1還是玩家2)
當我是玩家1的時候,
我要儲存給對方的終極密碼時,玩家1給的終極密碼要存到玩家2的欄位裡面
反過來,當我是玩家2,我輸入的終極密碼就是存到玩家1的欄位裡面!
然後下方GET的用法是用來確定雙方是否已經將終極密碼都輸入並且存到FIREBASE之內,如果對方還沒輸入,這個遊戲就無法進入,直到對方將終極密碼存到FIREBASE之後,才會進入遊戲(GameStart畫面)~
一樣我們在程式初始化時新增變數
這次我們共要新增四個變數分別為:
"我要猜的數字"預設值為空
"我輸入的數字"預設值為空
"最小"預設值為1
"最大"預設值為9999
在下一組程式碼中,我們要設定
在GameStart這個螢幕開啟時做以下動作
先依照我是玩家1還是玩家2
找到自己要準備猜測的終極密碼
然後將取得到的值存入"我要猜的數字"變數中
然後設定一個監聽器監聽對方的值
(用來偵測對方是否勝利)
上面有用到的監聽程式碼與此程式塊作對應,如果收到對方的值為win的話,我就會顯示我輸了!
接下來是最後一部分
當我打完我猜的數字,按下送出時
會將我的數字數字存入"我輸入的數字"變數中
並且將原本輸入的數字從TextInput清除掉,方便使用者再次輸入下一個猜測的數字!
當我目前範圍是500-6666的時候
如果這時候使用者數字輸入在這個範圍外,基本上要出現錯誤訊息
所以這時候就加上的這一條程式碼
if 我輸入的數字 > 最小 and 我輸入的數字 < 最大
這行來解決使用者輸入範圍以外的數字
if 我要猜的數字 = 我輸入的數字
就會恭喜猜對了,並且將獲勝的訊息傳回至firebase資料庫,讓對方知道他已經輸了!
if 我要猜的數字 < 我輸入的數字
這樣我的最大數字範圍就會變成 "我輸入的數字"
if 我要猜的數字 > 我輸入的數字
這樣我的最小數字範圍就會變成 "我輸入的數字"
我們的雙人連線終極密碼專案就完結囉~~~
明天就換其他主題囉!
在專案結尾也附上此專案分享檔,
有興趣可以直接copy過去研究或改寫喔!!
2020.11.27更新專案連結
https://x.thunkable.com/copy/82f3bdbc78769e5be7c20473d5ca22e9
你好
看過這個專案示範之後,覺得讓我這個程式麻瓜也很有信心可以透過 thunkable 做出一些有趣的東西。
可惜目前似乎除了 sign up 功能之外,並無法透過 firebase 的 function 去建立 autoID 來貯存資料,使得可實現的效果比較受限。
若其實有此功能只是沒被我找到得話,再麻煩前輩指教!
謝謝。
此專案無法copy喔!"Error copying shared project via link",應該是這個link過期了~~
謝謝囉!!
setnumber的兩個Get裡的key也要join "app myroomnum"和"/player" 喔!